package RRHH_Modelo;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class RHH_CONTRATO_DIRECTO {

    private int ID_USUARIO_CONTRATADO;
    private int ID_USUARIO_CONTRATANTE;
    private Conexion con = null;

    public RHH_CONTRATO_DIRECTO(Conexion con) {
        this.con = con;
    }

    public RHH_CONTRATO_DIRECTO(int ID_USUARIO_CONTRATADO, int ID_USUARIO_CONTRATANTE) {
        this.ID_USUARIO_CONTRATADO = ID_USUARIO_CONTRATADO;
        this.ID_USUARIO_CONTRATANTE = ID_USUARIO_CONTRATANTE;
    }

    public boolean Insertar() throws SQLException {
        String consulta = "insert into BROKER.RHH_CONTRATO_DIRECTO (ID_USUARIO_CONTRATADO, ID_USUARIO_CONTRATANTE) VALUES (" + ID_USUARIO_CONTRATADO + "," + ID_USUARIO_CONTRATANTE + ")";
        con.EjecutarSentencia(consulta);
        return true;
    }
    public boolean modificar() throws SQLException {
        String consulta = "update BROKER.RHH_CONTRATO_DIRECTO set ID_USUARIO_CONTRATANTE="+ ID_USUARIO_CONTRATANTE +" where ID_USUARIO_CONTRATADO="+ID_USUARIO_CONTRATADO;
        con.EjecutarSentencia(consulta);
        return true;
    }

    public boolean EliminarXid() throws SQLException {
        String consulta = "delete from BROKER.RHH_CONTRATO_DIRECTO where ID_USUARIO_CONTRATADO= " + getID_USUARIO_CONTRATADO()+" and ID_USUARIO_CONTRATANTE= "+getID_USUARIO_CONTRATANTE();
        con.EjecutarSentencia(consulta);
        return true;
    }

    public List<RHH_CONTRATO_DIRECTO> Todos() throws SQLException {
        String consulta = "select * from BROKER.RHH_CONTRATO_DIRECTO";
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_CONTRATO_DIRECTO> lista = Cargar(rs);
        return lista;
    }
    public RHH_CONTRATO_DIRECTO BuscarXcontratado(int id) throws SQLException {
        String consulta = "select * from BROKER.RHH_CONTRATO_DIRECTO where ID_USUARIO_CONTRATADO="+id;
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_CONTRATO_DIRECTO> lista = Cargar(rs);
        if(lista.size()>0){
            return lista.get(lista.size()-1);
        }
        return null;
    }

    public List<RHH_CONTRATO_DIRECTO> Cargar(ResultSet rs) throws SQLException {
        List<RHH_CONTRATO_DIRECTO> lista = new ArrayList<RHH_CONTRATO_DIRECTO>();
        while (rs.next()) {
            RHH_CONTRATO_DIRECTO objeto = new RHH_CONTRATO_DIRECTO(con);
            objeto.setID_USUARIO_CONTRATADO(rs.getInt("ID_USUARIO_CONTRATADO"));
            objeto.setID_USUARIO_CONTRATANTE(rs.getInt("ID_USUARIO_CONTRATANTE"));
            lista.add(objeto);
        }
        return lista;
    }

    public int getID_USUARIO_CONTRATADO() {
        return ID_USUARIO_CONTRATADO;
    }

    public void setID_USUARIO_CONTRATADO(int ID_USUARIO_CONTRATADO) {
        this.ID_USUARIO_CONTRATADO = ID_USUARIO_CONTRATADO;
    }

    public int getID_USUARIO_CONTRATANTE() {
        return ID_USUARIO_CONTRATANTE;
    }

    public void setID_USUARIO_CONTRATANTE(int ID_USUARIO_CONTRATANTE) {
        this.ID_USUARIO_CONTRATANTE = ID_USUARIO_CONTRATANTE;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }
}
